package com.jic.point.mapper;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Date;
import java.util.List;

import com.github.pagehelper.PageInfo;
import com.jic.point.model.entity.ConfBdMoneyLog;
import com.jic.point.model.entity.ReportBd;
import org.apache.ibatis.annotations.Param;

public interface ConfBdMoneyLogMapper {
	/**
	 * CONF_BD_MONEY_LOG插入数据
	 * @param confBdMoneyLog 入参实体类
	 */
	int insert (ConfBdMoneyLog confBdMoneyLog);

	/**
	 * CONF_BD_MONEY_LOG插入数据
	 * @param confBdMoneyLog 入参实体类
	 */
	int insertSelective (ConfBdMoneyLog confBdMoneyLog);

	/**
	 * CONF_BD_MONEY_LOG根据表对象数据修改数据
	 * @param confBdMoneyLog 入参实体类
	 */
	int updateByPrimaryKey (ConfBdMoneyLog confBdMoneyLog);

	/**
	 * CONF_BD_MONEY_LOG根据表对象数据修改数据
	 * @param confBdMoneyLog 入参实体类
	 */
	int updateByPrimaryKeySelective (ConfBdMoneyLog confBdMoneyLog);

	/**
	 * CONF_BD_MONEY_LOG根据id删除数据
	 * @param confBdMoneyLog 入参实体类
	 */
	int deleteByPrimaryKey (ConfBdMoneyLog confBdMoneyLog);

	/**
	 * CONF_BD_MONEY_LOG根据主键查询数据
	 * @param confBdMoneyLog 入参实体类
	 */
	ConfBdMoneyLog selectByPrimaryKey (ConfBdMoneyLog confBdMoneyLog);

	/**
	 * CONF_BD_MONEY_LOG根据主键查询数据
	 * @param confBdMoneyLog 入参实体类
	 */
	List<ConfBdMoneyLog> listPageBySelective (ConfBdMoneyLog confBdMoneyLog);

	/**
	 * CONF_BD_MONEY_LOG查询数据
	 * @param confBdMoneyLog 入参实体类
	 */
	List<ConfBdMoneyLog>  selectBySelective (ConfBdMoneyLog confBdMoneyLog);

	/**
	 *
	 *
	 * @description: 获取本月RDC划入金额
	 * @return: 
	 * @author: fengrui
	 * @time: 2020/11/11 20:30
	 */
	BigDecimal getMoney(Date parse);
	/**
	 *
	 *
	 * @description: 获取本月RDC划出金额
	 * @return: 
	 * @author: fengrui
	 * @time: 2020/11/11 20:30
	 */
	BigDecimal getCarryOver(Date date);

	/**
	 *
	 *
	 * @description: 获取这一个月RDC 结转金额
	 * @return: 
	 * @author: fengrui
	 * @time: 2020/11/11 20:31
	 */
	BigDecimal getThisMonthCarryOver(Date parse);


	/**
	 *
	 *
	 * @description: 按照月份批量获取详情
	 * @return: 
	 * @author: fengrui
	 * @time: 2020/11/13 12:01
	 */  
	List<ConfBdMoneyLog> listPageAll(ConfBdMoneyLog request);

    List<ConfBdMoneyLog> selectAddMoney(@Param("date") Date time,@Param("type")Integer type);
}
